#include<iostream>
#include<utility>
using namespace std;

class CTest
{
public:
	CTest(int i = 0) : value(i){}
	//why should be const function?
	bool operator==(const CTest& r) const
	{
		return value == r.value;
	}
	bool operator<(const CTest& r) const
	{
		return value < r.value; 
	}
private:
	int value;
};

int main(void)
{
	CTest t1(100);
	CTest t2(200);
	
	using namespace std::rel_ops;
	cout<< (t1 == t2) <<endl;
	cout<< (t1 != t2) <<endl;
	cout<< (t2 >= t1) <<endl;
	cout<< (t1 <= t2) <<endl; 
	
	return 0;
}
